package com.itheima.tlias.mapper;

import com.itheima.tlias.pojo.Clazz;
import org.apache.ibatis.annotations.*;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface ClazzMapper {
	@Select("select * from clazz order by update_time")
	List<Clazz> list();

	@Delete("delete from clazz where id = #{id}")
	void deleteById(Integer id);

	@Insert("insert into clazz(name, room, begin_date, end_date, master_id, subject, create_time, update_time)" +
			"values (#{name},#{room},#{beginDate},#{endDate},#{masterId},#{subject},#{createTime},#{updateTime})")
	void save(Clazz clazz);

	@Select("select * from clazz where id = #{id}")
	Clazz getById(Integer id);

	@Update("update clazz set name = #{name}, room = #{room}, begin_date = #{beginDate}, end_date = #{endDate}," +
			"master_id=#{masterId},subject=#{subject},create_time=#{createTime},update_time=#{updateTime} where id =#{id}")
	void updateById(Clazz clazz);

	List<Clazz> page(String name, LocalDate begin, LocalDate end, Integer page, Integer pageSize);
}
